/**
 * Created by Dell on 2017/5/23.
 */
const feedback = require('../models/feedback');
const log = require('log4js').getLogger('feedback');
const systemlogs = require('../models/systemlogs');
/**
 * 添加反馈
 * @param req
 * @param res
 */
exports.add = function(req, res){
    const args = req.body;
    if(!args.content){
        return res.send({success:false,data:'请填写您反馈的内容'});
    }
    let params = [
        req.user.id,//用户id
        req.user.mobile,//用户手机号
        args.content,//反馈内容
        new Date(),//时间
        2,//未处理状态
        args.picture?args.picture:[]//反馈配图
    ];
    feedback.add(params, function(err, result){
        if(err){
            return res.send({success:false,data:err});
        }else if(result == 'null'){
            return res.send({success:false,data:'很遗憾，反馈失败'});
        }else {
            return res.send({success:true,data:'反馈成功'});
        }
    });
};
/**
 * 后台多条件查询反馈列表
 * @param req
 * @param res
 */
exports.list = function(req, res){
    const args = req.query;
    let params = [];
    const limit = Number(args.limit);
    const page = Number(args.page - 1);
    if(!limit){
        return res.send({success:false,data:'请选择每页显示多少条'});
    }
    if(!args.page){
        return res.send({success:false,data:'请选择当前页数'});
    }
    if(args.keyword){
        params.push('%'+args.keyword+'%');//有查询关键字
    }
    params.push(limit);//每页显示条数
    params.push(page * limit);//从第几条开始显示
    feedback.list(params,args,function(err,result){//去models执行sql语句操作
        if(err){
            return res.send({success:false,data:err});//报错
        }else{
            return res.send({success:true,data:result.rows});//返回结果
        }
    });
};
/**
 * 后台多条件查询反馈列表
 * @param req
 * @param res
 */
exports.count = function(req, res){
    const args = req.query;
    let params = [];
    if(args.keyword){
        params.push('%'+args.keyword+'%');//有查询关键字
    }
    feedback.count(params,args,function(err,result){//去models执行sql语句操作
        if(err){
            return res.send({success:false,data:err});//报错
        }else{
            return res.send({success:true,data:result.rows[0].count});//返回结果
        }
    });
};

/**
 * 后台批量删除用户反馈
 * @param req
 * @param res
 */
exports.remove = function(req, res){
    const args = req.body;
    if(!args.ids){
        return res.send({success:false,data:'请选择要删除的反馈'});
    }
    if(args.ids.constructor != Array){//删除的日志id是否是数组集合
        return res.send({succeaa:false,data:'请以数组方式传递要删除的反馈id！'});
    };
    feedback.remove(args, function(err, result){//去models执行sql语句
        if(err){
            return res.send({success:false,data:err});//报错
        }else if(result == 'null'){
            return res.sedn({success:false,data:'您要删除的反馈不存在'});
        }else if(result == 'fail'){
            return res.sedn({success:false,data:'很抱歉，删除反馈失败'});
        }else {
            let desc = req.user.username+'删除了一批反馈';
            const params_sys = [
                req.user.id,
                desc,
                new Date(),
                4
            ];
            systemlogs.add_systemlogs(params_sys, function(err, result){});//添加日志
            return res.send({success:true,data:'删除成功'});
        }
    });
};